HW 5
Question 1
Explain the following terms:
- Hypercube network: A type of computer network topology in which each node is connected to exactly n other nodes, where n is a power of 2. Each node is assigned a unique binary address, which is used to determine its position in the hypercube. The distance between any two nodes in the hypercube is defined as the number of bits that differ in their binary addresses.
- Store and forward routing: Each intermediate node stores the message or packet before forwarding it to the next node in the network.
- Cut through routing: S technique used in computer networking to forward network packets without first receiving the entire packet. Instead, the network device (such as a switch or router) reads only the header of the packet, determines the destination of the packet, and forwards it immediately to the next hop in the network.
- Minimal routing: The goal of minimal routing is to minimize the number of hops or intermediate nodes between the source and destination nodes to reduce latency and improve the overall performance of the network.
- Flow control digits (FLITS): A unit of data used in high-speed computer networks to control the flow of data between nodes. A flit is a small packet of data that contains information about the source, destination, and priority of the data being transmitted.
- LogP model: The model takes into account several parameters, including communication time, computation time, and the amount of data that needs to be transmitted between nodes.
- Dilation in a graph embedding: Maximum number of edges in the embedding graph that any edge in the original network mapped onto.
- Congestion in a graph embedding: Maximum number of edges in the original graph mapped to an edge in the embedding graph.
- Expansion in a graph embedding: the number of nodes in the embedding graph over the number of nodes in the original graph.
- Network model of parallel computers: each processor computes using data in the processor and communicates 1 unit of the message along an incident edge. Repeat the compute-communicate process.
Question 2
Part 1
It takes to send a fraction of the message in one hop. As soon as the first segment of the message is sent, we send the second. Therefore it takes until sending the last segment. The last segment will then take to be sent to .
In total, it takes
Part 2
Question 3
The overall latency for sending one message is .
The overall latency for sending messages is .
Broadcast procedure:
- At time , transmits to .
- At time , the message sent by to enters the network; transmits to .
- At time , the message sent by to enters the network; transmits to .
- At time , the message sent by to enters the network.
- At time , the message arrives at .
- At time , the message is processed at ; the message arrives at .
- At time , the message is processed at ; the message arrives at .
- At time , the message is processed at .
The overall latency is .
Question 4
Each processor communicates for a total of
Total (parallel) time is because threads are in parallel. We time 2 because we are communicating matrices A and B.
Total computation time is . Total execution time is
Question 5
- Congestion:
- Dilation:
- Expansion:
Question 6
Part 1
- Dilation: 1 (Same path for traversing across a row since there's no wrap-around)
- Congestion: ( nodes in a column mapped into one)
Part 2
It's the same thing as before
- Dilation: 1 (Same path for traversing across a column since there's no wrap-around)
- Congestion: ( nodes in a row mapped into one)